Model তৈরি করা এবং Data Validation

Microsoft Technologies - এমভিভিএম (MVVM) Model তৈরি এবং ম্যানেজমেন্ট (Creating and Managing Models) |
207
207

Model তৈরির সময় Data Validation গুরুত্বপূর্ণ একটি প্রক্রিয়া যা নিশ্চিত করে যে, মডেলের ডেটা সঠিক, বৈধ এবং প্রয়োজনীয় ফরম্যাটে রয়েছে। MVVM প্যাটার্নে, Model অ্যাপ্লিকেশনের ডেটা হ্যান্ডলিং এবং বিজনেস লজিকের জন্য দায়ী, এবং Data Validation মডেল স্তরের প্রাথমিক কাজ।

এখানে Model তৈরি করা এবং Data Validation সম্পর্কে বিস্তারিত আলোচনা করা হয়েছে।


Model তৈরি করা

Model অ্যাপ্লিকেশনের ডেটা ও লজিকের কেন্দ্রবিন্দু। এটি সাধারণত ডেটার প্রপার্টি এবং সেই ডেটা পরিচালনার জন্য কিছু কার্যকরী মেথড ধারণ করে।

Model তৈরির স্টেপস:

  1. ডেটা প্রপার্টি তৈরি: প্রথমে, মডেলটির জন্য বিভিন্ন প্রপার্টি তৈরি করতে হবে। উদাহরণস্বরূপ, যদি আপনি একটি Product মডেল তৈরি করছেন, তাহলে তার নাম, দাম এবং পরিমাণের জন্য প্রপার্টি থাকতে পারে।

    public class Product
    {
        public string Name { get; set; }
        public decimal Price { get; set; }
        public int Quantity { get; set; }
    }
    
  2. ব্যবসায়িক লজিক বা কার্যক্রম তৈরি: Model এ সেই লজিক থাকতে পারে যা ডেটার উপরে প্রক্রিয়া চালায়। উদাহরণস্বরূপ, একটি CalculateTotalPrice মেথড তৈরি করা যেতে পারে যা মূল্য এবং পরিমাণের ভিত্তিতে মোট মূল্য হিসাব করবে।

    public decimal CalculateTotalPrice()
    {
        return Price * Quantity;
    }
    
  3. ডেটাবেস বা ডেটা সোর্সে সংযোগ: মডেলটি ডেটাবেসের সঙ্গে যোগাযোগ করার জন্য ADO.NET, Entity Framework বা Dapper ব্যবহার করতে পারে। নিচে একটি উদাহরণ দেখানো হয়েছে যেখানে একটি ডেটাবেস থেকে প্রোডাক্টের তালিকা পড়া হচ্ছে।

    public class ProductRepository
    {
        private readonly DbContext _context;
    
        public ProductRepository(DbContext context)
        {
            _context = context;
        }
    
        public List<Product> GetAllProducts()
        {
            return _context.Products.ToList();
        }
    
        public void AddProduct(Product product)
        {
            _context.Products.Add(product);
            _context.SaveChanges();
        }
    }
    

Data Validation

Data Validation হল এমন একটি প্রক্রিয়া যা নিশ্চিত করে যে মডেলের ডেটা সঠিক এবং বৈধ। এটি ডেটা ইনপুটের সময় বা মডেল সংক্রান্ত অপারেশনগুলির আগে চালানো হয়, যাতে অবৈধ বা ভুল ডেটা সিস্টেমে প্রবাহিত না হয়। Data Validation প্রায়ই Model-এর অংশ হিসাবে যুক্ত থাকে।

Data Validation এর পদ্ধতি:

  1. প্রপার্টি লেভেল ভ্যালিডেশন (Property Level Validation):

    • আপনি মডেল প্রপার্টিগুলির উপর সরাসরি ভ্যালিডেশন যুক্ত করতে পারেন। উদাহরণস্বরূপ, প্রোডাক্টের দাম নেতিবাচক হতে পারে না।
    public class Product
    {
        private decimal _price;
    
        public string Name { get; set; }
    
        public decimal Price
        {
            get { return _price; }
            set
            {
                if (value < 0)
                    throw new ArgumentException("Price cannot be negative");
                _price = value;
            }
        }
    
        public int Quantity { get; set; }
    }
    

    এখানে Price প্রপার্টির setter-এ একটি ভ্যালিডেশন যোগ করা হয়েছে, যা যদি মূল্য নেতিবাচক হয় তবে একটি ArgumentException ছুঁড়ে দেয়।

  2. ডেটা অ্যানোটেশন (Data Annotations):

    • Data Annotations ব্যবহার করে আপনি মডেলের প্রপার্টিতে পূর্বনির্ধারিত ভ্যালিডেশন বিধি প্রয়োগ করতে পারেন। যেমন, [Required], [Range], [StringLength] ইত্যাদি।

    উদাহরণ:

    public class Product
    {
        [Required(ErrorMessage = "Product Name is required")]
        [StringLength(100, ErrorMessage = "Product Name cannot be longer than 100 characters")]
        public string Name { get; set; }
    
        [Range(0, double.MaxValue, ErrorMessage = "Price cannot be negative")]
        public decimal Price { get; set; }
    
        [Range(0, int.MaxValue, ErrorMessage = "Quantity cannot be negative")]
        public int Quantity { get; set; }
    }
    

    এই উদাহরণে Data Annotations ব্যবহার করা হয়েছে যাতে প্রোডাক্টের নামের জন্য একটি বাধ্যতামূলক ক্ষেত্র তৈরি করা হয়, দাম এবং পরিমাণের জন্য একটি সীমা নির্ধারণ করা হয়।

  3. কাস্টম ভ্যালিডেশন (Custom Validation):

    • কখনও কখনও আপনি কাস্টম লজিকের মাধ্যমে ডেটা যাচাই করতে চান। উদাহরণস্বরূপ, যদি আপনি চান যে প্রোডাক্টের দাম এবং পরিমাণ একসাথে নির্দিষ্ট শর্তে থাকতে হবে, তবে কাস্টম ভ্যালিডেশন ব্যবহার করা যেতে পারে।
    public class Product
    {
        public string Name { get; set; }
    
        public decimal Price { get; set; }
    
        public int Quantity { get; set; }
    
        // কাস্টম ভ্যালিডেশন মেথড
        public bool IsValid()
        {
            if (Price < 0)
                return false;
    
            if (Quantity < 0)
                return false;
    
            if (Price == 0 && Quantity == 0)
                return false;  // কিছু পণ্য বিক্রি করতে হলে দাম বা পরিমাণ অবশ্যই থাকতে হবে
    
            return true;
        }
    }
    

    এখানে IsValid মেথড ব্যবহার করা হয়েছে যা কাস্টম লজিকের মাধ্যমে Price এবং Quantity এর মান যাচাই করে।

  4. বিজনেস লজিক ভিত্তিক ভ্যালিডেশন (Business Logic-based Validation):

    • কখনও কখনও মডেলের ভিতরে একটি ব্যবসায়িক নিয়মের ভিত্তিতে ভ্যালিডেশন প্রয়োজন হতে পারে, যেমন একটি নির্দিষ্ট ফর্ম্যাটের ডেটা বা ডেটাবেসের অন্যান্য রেকর্ডের উপর নির্ভরশীল ভ্যালিডেশন। এই ধরনের ভ্যালিডেশন সাধারণত মডেলের মেথডে প্রয়োগ করা হয়।
    public class Product
    {
        public string Name { get; set; }
        public decimal Price { get; set; }
        public int Quantity { get; set; }
    
        public bool IsAvailableForSale()
        {
            // কিছু নির্দিষ্ট ব্যবসায়িক নিয়ম
            return Price > 0 && Quantity > 0;
        }
    }
    

Model এবং Data Validation এর মধ্যে সম্পর্ক

Model এর মধ্যে Data Validation যুক্ত করার ফলে:

  • ডেটার সঠিকতা নিশ্চিত করা যায়।
  • Model কে আরো স্থিতিশীল এবং রক্ষনশীল করা হয়।
  • ViewModel বা View এর মধ্যে যে কোনো ডেটা অপারেশন করার আগে ডেটার সঠিকতা যাচাই করা সম্ভব হয়।

এইভাবে, Model তৈরি এবং Data Validation এর মাধ্যমে অ্যাপ্লিকেশনের ডেটা সঠিকভাবে প্রক্রিয়া ও পরিচালিত হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion